﻿/*
 * ©2009-2010 XELF
 * http://xelf.info
 */

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.GamerServices;

namespace XELF.Framework {

	public static partial class Helper {
		/// <summary>
		/// このプレイヤーからゲームを購入できるか。
		/// </summary>
		/// <param name="playerIndex"></param>
		/// <returns></returns>
		public static bool CanBuyGame(this PlayerIndex playerIndex) {
			if (!Guide.IsTrialMode)
				return false;
			var gamer = Gamer.SignedInGamers[playerIndex];
			if (gamer == null) return false;
			return gamer.Privileges.AllowPurchaseContent;
		}
		/// <summary>
		/// このプレイヤーからマーケットプレースの表示を試みる。
		/// </summary>
		/// <param name="playerIndex"></param>
		/// <returns></returns>
		public static bool TryShowMarketplace(this PlayerIndex playerIndex) {
			if (!playerIndex.CanBuyGame())
				return false;
			if (Guide.IsVisible)
				return false;
			try {
				Guide.ShowMarketplace(playerIndex);
			} catch {
				return false;
			}
			return true;
		}
	}

}
